Kong 开发一个 gRPC 响应插件
报错 plugin is enabled but not installed;
这个原因是因为没有正确的设置 lua_package_path
# 设置纯 Lua 扩展库的搜寻路径(';;' 是默认路径): 这里填写具体的插件路径就行了
lua_package_path '/foo/bar/?.lua;/blah/?.lua;;';
# 设置 C 编写的 Lua 扩展模块的搜寻路径(也可以用 ';;'):
lua_package_cpath '/bar/baz/?.so;/blah/blah/?.so;;';
LuaRocks 初始化插件结构
当使用 LuaRocks 安装 grpc-kong-plugin 插件时,你可以按照以下步骤创建插件的目录结构:
1、创建插件目录:在终端中执行以下命令创建插件目录(假设插件名为 grpc-kong-plugin):
mkdir grpc-kong-plugin
cd grpc-kong-plugin
2、创建 grpc-kong-plugin 插件的 rockspec 文件: 在插件目录中执行以下命令创建 rockspec 文件:
luarocks init
这将在插件目录中创建一个名为 grpc-kong-plugin-X.X-X.rockspec 的文件(X.X-X 是版本号)。
3、编辑 rockspec 文件:使用文本编辑器打开 grpc-kong-plugin-X.X-X.rockspec 文件,根据插件的要求进行编辑。
- 将
package表中的version字段设置为插件的版本号。 - 根据插件的依赖关系,在
dependencies表中添加所需的依赖项。例如,如果插件需要 Kong 和 grpc 库,可以添加以下内容:
dependencies = {
"kong >= 2.0",
"lua-resty-grpc"
}
- 在
build表中,将modules字段设置为包含插件代码的 Lua 模块路径。通常,这是插件目录中的一个 Lua 文件。
4、创建插件代码文件:
在插件目录中创建一个 Lua 文件(例如 grpc-kong-plugin.lua),并添加插件的代码。
-- 插件的 Lua 代码
5、保存并退出 rockspec 文件和插件代码文件。
6、安装插件:在终端中,切换到插件目录,然后执行以下命令安装插件:
luarocks make
这将使用 rockspec 文件中定义的配置信息来构建并安装插件。